package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 产品对象 product
 * 
 * @author ruoyi
 * @date 2022-12-13
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long pid;

    /** 产品名称 */
    @Excel(name = "产品名称")
    private String pname;

    /** 期数3，6，12 */
    @Excel(name = "期数3，6，12")
    private Long periods;

    /** 年利率 */
    @Excel(name = "年利率")
    private BigDecimal interestRate;

    /** 手续费 */
    @Excel(name = "手续费")
    private BigDecimal sxf;

    /** 最小金额 */
    @Excel(name = "最小金额")
    private BigDecimal minPrice;

    /** 最大金额 */
    @Excel(name = "最大金额")
    private BigDecimal maxPrice;

    /** 放款时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "放款时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date loanTime;

    public void setPid(Long pid)
    {
        this.pid = pid;
    }

    public Long getPid()
    {
        return pid;
    }
    public void setPname(String pname)
    {
        this.pname = pname;
    }

    public String getPname()
    {
        return pname;
    }
    public void setPeriods(Long periods)
    {
        this.periods = periods;
    }

    public Long getPeriods()
    {
        return periods;
    }
    public void setInterestRate(BigDecimal interestRate)
    {
        this.interestRate = interestRate;
    }

    public BigDecimal getInterestRate()
    {
        return interestRate;
    }
    public void setSxf(BigDecimal sxf)
    {
        this.sxf = sxf;
    }

    public BigDecimal getSxf()
    {
        return sxf;
    }
    public void setMinPrice(BigDecimal minPrice)
    {
        this.minPrice = minPrice;
    }

    public BigDecimal getMinPrice()
    {
        return minPrice;
    }
    public void setMaxPrice(BigDecimal maxPrice)
    {
        this.maxPrice = maxPrice;
    }

    public BigDecimal getMaxPrice()
    {
        return maxPrice;
    }
    public void setLoanTime(Date loanTime)
    {
        this.loanTime = loanTime;
    }

    public Date getLoanTime()
    {
        return loanTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("pid", getPid())
            .append("pname", getPname())
            .append("periods", getPeriods())
            .append("interestRate", getInterestRate())
            .append("sxf", getSxf())
            .append("minPrice", getMinPrice())
            .append("maxPrice", getMaxPrice())
            .append("loanTime", getLoanTime())
            .toString();
    }
}
